home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Updates / General / Symantec C++ 6.0.1 Updt ƒ / READ ME
Encoding:
Text File  |  1993-12-14  |  7.5 KB  |  185 lines  |  [TEXT/ttxt]

  1. ABOUT THINK C/SYMANTEC C++ 6.0.1
  2. =================================
  3. Copyright © 1993 Symantec Corporation. All Rights Reserved.
  4. September 21, 1993
  5. Font: Geneva 12
  6.  
  7. INTRODUCTION
  8. =============
  9. The THINK C/Symantec C++ for Macintosh version 6.0.1 corrects problems with the 6.0
  10. release of the following components of the Symantec C++ for Macintosh/THINK C system:
  11. THINK Project Manager, THINK Debugger, SourceServer, Symantec C++ (if applicable), THINK
  12. C, THINK Rez, and the runtime libraries.
  13.  
  14. This document has the following sections:
  15.  
  16.  • UPDATING YOUR SYSTEM tells you how to run the various patch
  17.       programs to update your THINK C/Symantec C++ for Macintosh components,
  18.    and how to update your libraries.
  19.  
  20.  • WORK-AROUNDS describes how to avoid some problems developers
  21.    have reported to us in using Symantec C++ for Macintosh/THINK C.
  22.  
  23. The file “What Changed” in the “Release Notes” folder lists the most important bugs that
  24. this update fixes in the various components of Symantec C++ for Macintosh/THINK C.
  25.  
  26. UPDATING YOUR SYSTEM
  27. =====================
  28. Updating your THINK C/Symantec C++ for Macintosh 6.0 system is a three step
  29. process: you need to patch the applications and translators, install the new
  30. libraries and header files, and optionally install a new set of sample Apple scripts.
  31.  
  32. Patching Things Up
  33. -----------------
  34. This update contains six small applications in the ‘Patches’ folder that
  35. will transform your components into the new versions. Updating is easy:
  36.  
  37. • Make sure that you update a clean installation of THINK C/Symantec C++ for
  38.   Macintosh 6.0, and that you have your original disks handy in case you need to
  39.   re-install THINK C/Symantec C++.
  40. • Double-click on the patch application (e.g. “TPM 6.0.1 Patch”).
  41. • Read the messages in the dialog that comes up; they may contain
  42.   important information. Click the ‘Patch’ button.
  43. • Find the component asked for using the standard file dialog box.
  44.  
  45.     •••••••••
  46.  IMPORTANT
  47.     •••••••••
  48.     
  49.     The patch is done in place! This means that the patcher will overwrite
  50.     the file you’re updating. When it is done, you will get a confirmation that
  51.  the patch was successful if all goes well.
  52.     
  53. • Repeat these steps for the other patches in the ‘Patches’ folder:
  54.  
  55.     THINK C 6.0.1 Patch
  56.     THINK Rez 1.0.1 Patch
  57.     THINK Debugger 6.0.1 Patch
  58.     SourceServer 1.0.1 Patch
  59.     Symantec C++ 6.0.1 Patch (*)
  60.  
  61. (*) You only need this if you have Symantec C++ for Macintosh. If you have
  62. THINK C 6.0, then you don’t need to do anything with this file.
  63.  
  64. Updating the Libraries
  65. --------------------
  66. The library updates are contained in a Compact Pro self extracting archive.
  67. Installing them is easy:
  68.  
  69. • Double-click on the file “Library Updates.sea”.
  70. • When it asks you to “Select the destination folder”, move to your
  71.   Symantec C++ for Macintosh (or THINK C) folder and click “Extract”.
  72. • The archive will begin to extract its files, and at one point will say
  73.   that a duplicate file was found. This is correct; press the “Replace ALL
  74.   Duplicates” button to finish the installation.
  75.  
  76. If you have Symantec C++ for Macintosh, then you also need to do the following:
  77.  
  78. • Double-click on the file “C++ Library Updates.sea”.
  79. • When it asks you to “Select the destination folder,” select your
  80.   Symantec C++ for Macintosh folder.
  81. • The archive will begin to extract its files, and at one point will say
  82.   that a duplicate file was found (this is correct). Press the “Replace ALL
  83.   Duplicates” button to finish the installation.
  84. • If you are using the THINK Class Library with C++, then you *must* re-
  85.   precompile TCL Headers++.
  86.  
  87. Updating the Sample AppleScripts
  88. -------------------------------
  89. The sample AppleScripts have been updated to reflect the changes made to the
  90. scripting features in the THINK Project Manager 6.0.1, and to fix several bugs in
  91. the original scripts.
  92.  
  93. • Double-click on the file “Sample AppleScripts Update.sea”.
  94. • When it asks you to “Select the destination folder”, move to the
  95.   ‘Scripting’ folder and click “Extract”.
  96. • The archive will begin to extract its files, and at one point will say
  97.   that a duplicate file was found. This is correct; press the “Replace ALL
  98.   Duplicates” button to finish the installation.
  99.  
  100.  
  101. WORK-AROUNDS
  102. ===============
  103. This section describes how to avoid known problems with the Symantec C++
  104. for Macintosh/THINK C system.
  105.  
  106. THINK Project Manager
  107. ---------------------
  108. • PowerBook programmers should take care when using the THINK Project Manager
  109.   with the extension “Programmer’s” Key. It treats the back quote (`) key as a
  110.   replacement for the power key. Hence pressing Command-` causes an interrupt
  111.   rather than going to the previous error when the batch search window is up.
  112.  
  113. • If you throw out the resource file associated with a project, it will not be
  114.   automatically recreated when the project is built. You will need to manually
  115.   recompile the project’s resources.
  116.  
  117. • Option-double-clicking on a library function will call up documentation for the
  118.   function in THINK Reference only if THINK Reference is already running: it will not
  119.   launch THINK Reference. Pressing Command-minus or selecting “Find in THINK
  120.   Reference” will launch the application if necessary. Make sure that you have an
  121.   alias called “THINK Reference” pointing to the THINK Reference application in your
  122.   Tools folder (see page 30 of the User’s Guide).
  123.  
  124. • If you de-rez your project’s resource file (i.e. foo.π.rsrc) to foo.r, and add this Rez
  125.   file to your project without first deleting foo.π.rsrc, you will get many “multiply
  126.   defined” resource errors. If you want to use text-based resources in this manner,
  127.   rename your foo.π.rsrc.
  128.  
  129. • When searching for an inline method within a class declaration, it is possible to
  130.   match a string earlier in the file if one exists. Pressing Command-G will
  131.   eventually take you to the correct definition.
  132.  
  133. • The browser cannot distinguish overloaded methods/operators: it will highlight the
  134.   first method name found without matching the parameter lists. Again, pressing
  135.   Command-G will eventually take you to the correct definition.
  136.  
  137. Symantec C++
  138. -------------
  139. • Friend declarations are not accepted as a forward declaration, so the following
  140.   snippet will not compile without first forward declaring Y:
  141.  
  142.         //class Y;
  143.         class X {
  144.             friend class Y;
  145.             Y *pY;
  146.         };
  147.  
  148. • To declare a reference to a pointer to an int, use the following:
  149.  
  150.         int *s;
  151.         int *&p = s;
  152.  
  153. • The “Align 4-byte boundaries” option in the C++ compiler aligns the members of a
  154.   structure on 4-byte boundaries.
  155.  
  156. • CPlusLib should always reside in a resident segment: it should never be unloaded.
  157.  
  158. • When precompiling headers that contain inline implementations of virtual functions
  159.   outside of the class declarations, the “inline” keyword must be specified in the
  160.   class declaration. For example,
  161.  
  162.         class c {
  163.         public:
  164.             virtual short foo(short n);
  165.         };
  166.  
  167.         inline short c::foo(short n) { return 2*n; }
  168.  
  169.   will not precompile. However, declaring foo as
  170.  
  171.             inline virtual short foo(short n);
  172.  
  173.   will work as expected.
  174.  
  175. • You can not have virtual functions in C++ classes in code resources or drivers.
  176.   Instead, use PascalObject classes. 
  177.  
  178. • If you are writing a code resource that uses C++ static objects with constructors,
  179.   then the constructors are not called. You will need to allocate an instance of the
  180.   object with new for the constructor to be called.
  181.  
  182. • When using PascalObject classes, either turn off both Far Code and Far Data or
  183.   turn them both on. Mixing far and near models will not work with PascalObject.
  184.  
  185.